const mysql = require('mysql2/promise');

async function testCloudDatabase() {
  console.log('正在测试云服务器数据库连接...');
  console.log('配置信息:');
  console.log('- 主机: 8.149.243.80');
  console.log('- 端口: 3307');
  console.log('- 用户: root');
  console.log('- 数据库: mqtt_app');
  console.log('');

  try {
    // 创建连接
    const connection = await mysql.createConnection({
      host: '8.149.243.80',
      port: 3307,
      user: 'root',
      password: '123456',
      database: 'mqtt_app'
    });

    console.log('✅ 数据库连接成功！');

    // 测试查询
    const [rows] = await connection.execute('SELECT 1 as test');
    console.log('✅ 查询测试成功:', rows);

    // 检查表是否存在
    const [tables] = await connection.execute('SHOW TABLES');
    console.log('✅ 数据库表列表:', tables);

    // 检查logs表结构
    const [columns] = await connection.execute('DESCRIBE logs');
    console.log('✅ logs表结构:', columns);

    await connection.end();
    console.log('✅ 数据库连接已关闭');
    console.log('');
    console.log('🎉 云服务器数据库配置成功！');

  } catch (error) {
    console.error('❌ 数据库连接失败:');
    console.error('错误信息:', error.message);
    console.error('错误代码:', error.code);
    console.log('');
    console.log('请检查以下配置:');
    console.log('1. 云服务器IP地址是否正确');
    console.log('2. MySQL端口3307是否正确');
    console.log('3. 用户名和密码是否正确');
    console.log('4. 数据库mqtt_app是否存在');
    console.log('5. 云服务器防火墙是否开放3307端口');
    console.log('6. MySQL是否允许远程连接');
  }
}

testCloudDatabase();
